The present invention relates to a robot control system and, more specifically, to a profile control system for a robot which permits the robot to perform a profiling operation along a surface of a work object having curved surfaces of unknown contours on the basis of force acting between the end of the robot and the work object that is sensed by, for example, an inner force sensor while resetting a coordinate system for the profiling operation.
With a force control robot system, in order to perform a profiling operation to move the end of a robot from a work start point to an end point while pressing it on a surface of a work object, the direction n in which the end of the robot is pressed which coincides with the direction of the normal line of the work object at a point of contact between the end of the robot and the work object and a profile coordinate system Ow -Xw, Yw, Zw defined by the direction o in which the robot moves while performing the profiling operation need to be entered into a robot controller.
FIG. 1 is a diagram illustrating the profile coordinate system. As shown, reference coordinate axes Xo, Yo and Zo are taken with, for example, the center O of the bottom surface of the robot body at the origin 1 of a reference coordinate system. Provided are joints 2 and 3 on coordinate axis Zo, a manipulator 5 having an arm between joints 3 and 4, and an inner force sensor 8 between a joint 6 in front of joint 4 and a hand 7. The hand 7 is shown in contact with a work object 9. The point of contact between hand 7 and work object 9, the direction of the inward normal line of the work object at the point of contact between the hand and the work object and the direction of movement of the hand are used as the origin Ow, the coordinate axes Xw and Yw of the profile coordinate system, respectively. The direction normal to the coordinate axes Xw and Yw is used as the coordinate axis Zw. Unit vectors in the directions of the coordinate axes Xw, Yw and Zw are given by n, o and a, respectively.
As described above, the profile coordinate system is determined by the position and attitude of the tip (the hand) of the robot relative to the work object. Unit vector n represents the direction in which the robot is pressed on the work object in applying force to it, and unit vectors o and n representing the directions of movement of the robot's tip are normal to each other. The other unit vector a is given as an outer product of n and o as follows. EQU a=n.times.o
Here the three unit vectors n, o and a may be represented in the reference coordinate system O -Xo, Yo, Zo and is generally given by ##EQU1## where T represents a transposed matrix.
FIG. 2 illustrates a relation between a work object with curved surfaces and the profile coordinate system. It is assumed that the robot performs a profiling operation on a side surface of work object 9 and the origin of the profile coordinate system is first placed at point P1. At this time the vector n is normal to the side surface of work object 9 and the vectors o and a are on the tangent plane. When the robot performs a profiling operation to move in the direction of vector o, the direction n of the normal line on the surface will not coincide with the direction in which the robot is pressed on the work object. Then the force applied to the work object by the robot will deviate from a preset value. In order to perform the profiling operation with an accurate force, therefore, it is required to change the profile coordinate system set at point p1 to a profile coordinate system for a point P2.
As described above, in order to perform the profile control by a force control robot, it is required to enter profile coordinate systems into a robot controller. In prior art systems the profile coordinate systems have usually been set by teaching the robot by an operator. In such a case, when a work object has curved surfaces as shown in FIG. 2, the teaching of the profile coordinate systems to the robot will inevitably become troublesome.
Another method of entering working coordinate systems into the robot controller involves the prediction of the direction of movement of the robot by the use of information on the current position of the robot. In this case, since the vectors in the direction of movement of the robot will be represented by estimated values, a deviation will be produced between an estimated position and a position to which the robot is actually moved.